package cn.iocoder.yudao.module.trade.controller.admin.order.vo;

import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@ExcelIgnoreUnannotated
public class TradeOrderExportVO {

    private Long id;

    @ExcelProperty("序号")
    private Integer sequenceNumber;

    @ExcelProperty("订单号")
    private String no;

    @ExcelProperty("支付单号")
    private Long payOrderId;

    @ExcelProperty("支付单号(支付)")
    private String payOrderNo;

    @ExcelProperty("支付单号(渠道)")
    private String payChannelOrderNo;

    @ExcelProperty("下单时间")
    private LocalDateTime createTime;

    @ExcelProperty("支付时间")
    private LocalDateTime payTime;

    @ExcelProperty("发货时间")
    private LocalDateTime deliveryTime;

    @ExcelProperty("最近卡密时间")
    private LocalDateTime cdkLookUpTime;

    @ExcelProperty("商品名称")
    private String spuName;

    @ExcelProperty("面值")
    private String denomination;

    @ExcelProperty("商品价格")
    private String price;

    @ExcelProperty("商品数量")
    private Integer productCount;

    @ExcelProperty("商品总额")
    private String totalPrice;

    @ExcelProperty("应付金额")
    private String payPrice;

    @ExcelProperty("发货方式")
    private String deliveryMethod;

    @ExcelProperty("发货类型")
    private String rechargeMethod;

    @ExcelProperty("接收邮箱")
    private String receiveEmail;

    @ExcelProperty(value = "订单来源", converter = DictConvert.class)
    @DictFormat("terminal")
    private Integer terminal;

    @ExcelProperty(value = "支付方式", converter = DictConvert.class)
    @DictFormat("pay_channel_code")
    private String payChannelCode;

    @ExcelProperty(value = "订单状态", converter = DictConvert.class)
    @DictFormat("trade_order_status")
    private Integer status;

}
